package com.sora.pipeline.domain.dto;

import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 批量创建里程桩请求DTO
 * 
 * @author system
 * @since 2025-01-20
 */
@Data
public class BatchMilestoneRequest {
    
    /**
     * 起始公里数
     */
    @NotNull(message = "起始公里数不能为空")
    @DecimalMin(value = "0", message = "起始公里数不能小于0")
    private BigDecimal startKm;
    
    /**
     * 结束公里数
     */
    @NotNull(message = "结束公里数不能为空")
    @DecimalMin(value = "0", message = "结束公里数不能小于0")
    private BigDecimal endKm;
    
    /**
     * 间隔(km)
     */
    @NotNull(message = "间隔不能为空")
    @DecimalMin(value = "0.1", message = "间隔必须大于0.1km")
    private BigDecimal interval;
    
    /**
     * 编号前缀
     */
    @Size(max = 10, message = "编号前缀长度不能超过10字符")
    private String prefix;
}
